// 引入axios
import Axios from 'axios'
import store from '@/store'
import router from '@/router'
import { Promise } from 'core-js'
// import { Message } from 'element-ui'
// import { login } from '@/api'
// 新建一个新的axios实例
const axios = Axios.create({
  //  配置基地址
  baseURL: process.env.VUE_APP_BASE_URL,
  timeout: 20000
})
console.log(process.env)
// 将axios  导出
export default ({ url, method = 'GET', params, data, headers }) => {
  return axios({
    url: url,
    method: method,
    params: params,
    data: data,
    headers: headers
  })
}
// 请求拦截器
axios.interceptors.request.use(function (config) {
  config.headers.Authorization = store.state.token
  console.log(config)
  console.log(store.state)
  return config
}, function (error) {
  return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  return response
}, async function (error) {
  if (error.response.status === 401) {
    // 1. 清除 vuex 中的 token 和用户信息数据，且清除本地的 token
    // store.commit('setToken', '')
    // 2. 跳转到登录页
    router.push('/login')
  }
  return Promise.reject(error)
}
)
